将当前 openwrt 系统打包成 img 的过程 您所在的位置:网站首页 openwrt nand固件打包 将当前 openwrt 系统打包成 img 的过程

将当前 openwrt 系统打包成 img 的过程

2024-07-07 01:04| 来源: 网络整理| 查看: 265

准备工作 2台虚拟机(虚拟机A 为没有任何操作系统的虚拟机,虚拟机B 为已完成安装的 openwrt 系统) 一个支持在线启动或者类似于U盘启动的系统,如 lubuntu 系统 镜像制作 扩容镜像

由于现有 openwrt 系统应当已经被使用,系统内有各种后装的软件,磁盘空间被增大。由于官方默认的磁盘空间仅有 256M,因此,需要将未安装任何软件的 openwrt 系统的基础磁盘空间扩大,以防后续拷贝现有 openwrt 系统时空间不足从而导致失败。

操作步骤 打开使用 lubuntu 的虚拟机 A,进入 lubuntu 操作系统 下载 openwrt 系统 扩容操作可参考以下命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # 查看当前磁盘状况 $ lsblk # 解压文件(这里的 .gz 不是使用 tar 压缩得到的,而是通过 gzip 命令得到) $ gunzip openwrt-xxx.img.gz # 通过 dd 命令将镜像文件拷贝到磁盘中,这时,在执行 lsblk 命令,会发现磁盘设备 /dev/sda 多出来两个磁盘分区。其实就是将 img 文件的分区格式完全拷贝到了 dev/sda 设备中。在此之前,也可以执行 sudo fdisk -l openwrt-xxx.img 命令,查看 img 文件的分区格式 $ sudo dd if=openwrt-xxx-xxx-xxx.img of=/dev/sda # 这里对磁盘 dev/sda 下的 sda2 进行扩容,默认情况下 sda1 中存放的是启动所需文件。 # 分区时先记住 sda2 分区的起始 block 值,然后删除重新创建 sda2 分区,此时可以将 sda2 分区的值扩大到 1G 你想扩容的空间,且不删除 signature $ sudo fdisk /dev/sda # 扩容 sda2 的文件系统,下面的命令适用于 openwrt 文件为 ext4 格式时。其他格式是否使用该命令记得去查询一下。 $ resize2fs /dev/sda2 # 拷贝回 img 文件,完成扩容,注意这里的 bs 和 count 的大小应保持和上面扩容的的两个磁盘大小之和一致。如果不适用 bs 和 count 来规定大小,那么 dd 默认拷贝的是 sda 磁盘的全部空间大小,也包含未使用的磁盘。 $ sudo dd if=/dev/sda of=openwrt-xxx.img.gz bs=1M count=1024 拷贝当前系统内容到已扩容的 img 文件中 将上述扩容后的镜像保存到当前 openwrt 系统中 将当前系统除了存放上述扩容后的 img 文件和 proc 以及 sys 以外的文件拷贝到 img 文件中 1 2 3 4 5 6 7 8 9 10 # 随便创建的用于存放 img 文件的目录,起这个名字纯粹是为了方便后续的拷贝 $ mkdir -p /zzz/img # 将 img 文件的第二个分区挂载出来,使用 offset 的方式设置偏移量,不设置会报错。 $ sudo mount -t ext4 -o loop,offset=$((33792*512)) openwrt-xxx.img /zzz/img # 如果有其他特殊文件可以单独拷贝...拷贝完成后取消挂载即可。 $ cp -r /[a-o]* /zzz/img $ cp -r /[q-r]* /zzz/img $ cp -r /[t-y]* /zzz/img


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有